274

Blockchain Technology

Conversely, IOTA implements the Markov Chain Monte Carlo (MCMC) and a tiny

PoW to verify and decide valid blocks (Kljajic, 2018). In this algorithm, every node

in the network must approve two previous transactions directly or indirectly to ensure

that the entire network achieves consensus (Foundation-IOTA, 2021). This method

involves little computing, storage, and network overhead, provides high throughput

and is highly scalable. An increase in transaction traffic proportionally speeds up the

network. As per IOTA Foundation, this node is temporary and referred to coordina­

tors (Foundation-IOTA, 2021). This feature is most appropriate for IoT devices with

low resource constraints. IOTA application hardware are shown in Figure 16.9.

16.5.2  Data Structure

The data structure defines how data is systematically stored in the computer for

efficient use. In the context of DLT, the data structure is the method of appending

approved transactions to the network. Blockchain adds valid blocks using a sequen­

tial hash graph (Zhixiong, 2020). Only one block is added at a time, as illustrated

in Figure 16.2. This method is not efficient and accounts for blockchain’s scalability

issues. For instance, statistics shows that the Bitcoin blockchain performs an average

of seven transactions per second (Kenney, 2019).

IOTA, on the contrary, implements the DAG data structure. It allows the addi­

tion of multiple blocks simultaneously, thereby building the Tangle, as shown in

Figure 16.3. This method is highly scalable in comparison with the blockchain.

IOTA processes 250 transactions per second on average.

16.6  SUMMARY, CONCLUSION AND RECOMMENDATION

This chapter considers two out of several DLTs in the market: Blockchain and IOTA.

It briefly analyzed the architecture and application domains. The focus, however, is

FIGURE 16.9  Sample hardware supported for building IOTA applications. (From Espressif,

ESP Audio DevKits, Espressif Systems, 2021, www​.espressif​.com​/en​/products​/devkits​/esp​-

audio​-devkits)